using System;
using System.Xml;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Collections.Generic;

namespace GalaxyZoo.Client.Model
{
    [DataContract]
    [XmlType(AnonymousType = true)]
    [XmlRoot(IsNullable = false, ElementName="asset", Namespace="")]
    public class Asset : AbstractGalaxyZooObject
    {
        /// <summary>
        /// Gets/Set the Id property.
        /// </summary>
        [DataMember]
        [XmlElement(ElementName="id")]
        public string Id { get; set; }

        /// <summary>
        /// Gets/Set the ProjectId property.
        /// </summary>
        [DataMember]
        [XmlElement(ElementName="project_id")]
        public int ProjectId { get; set; }

        /// <summary>
        /// Gets/Set the Location property.
        /// </summary>
        [DataMember]
        [XmlElement(ElementName="location")]
        public string Location { get; set; }

        /// <summary>
        /// Gets/Set the ExternalRef property.
        /// </summary>
        [DataMember]
        [XmlElement(ElementName="external_ref")]
        public string ExternalRef { get; set; }

        /// <summary>
        /// Gets/Set the Metadata property.
        /// </summary>
        [DataMember]
        [XmlElement(ElementName="metadata", Namespace="http://schemas.datacontract.org/2004/07/GalaxyZooMVC.Models")]
        public Metadata Metadata { get; set; }
    }
}
